In order for two computers to communicate using the Internet, a calling computer must know or be able to discover an Internet Protocol (IP) address of a callee. The Domain Name System (DNS) facilitates this process by resolving a "friendly name" (i.e., a recognizable set of characters rather than a numerical IP address) into a corresponding IP address. Thus, human users generally do not need to know or even see the underlying IP address associated with computers connected to the Internet.
Many Internet users access the network using a personal computer (PC) and an Internet Service Provider (ISP). It is a common practice for an ISP to dynamically assign an IP address which is valid only during the interval in which the PC is connected to the ISP. Furthermore, there is no static identifier (e.g., a friendly name) associated with the computer and available through DNS. Accordingly, in many instances, users do not know what their own dynamically assigned Internet address is, nor do they have a DNS name assigned to their computer. As a result, most Internet users are unable to supply any static, unique identifier that can be repeatedly used to establish a communications session with their computer via the Internet.
A mechanism referred to as User Location Service (ULS) provides one solution to this problem. ULS includes a dynamic directory containing records that map some unique user identifier to a currently assigned IP address. ULS places no restriction (other than uniqueness) on the selected friendly name. Individual computers are responsible for contacting and logging in to a ULS server. The act of logging in causes a new ULS record to be created. The ULS record is deleted when the computer logs out of ULS or fails to continue to refresh its record.
Two significant problems with ULS are its inability to scale and the completely non-standard way in which friendly names are resolved to IP addresses. Using non-standard name resolution techniques prevents pre-existing applications from accessing intermittently connected devices in an automated manner. For example, a ULS identifier string cannot be resolved by DNS or by an individual's web browser software. Existing applications such as web browsers are typically only able to access resources using local file names, actual IP addresses, and DNS names. To contact intermittently connected devices using prior art techniques, the particular ULS server containing the address must be contacted to resolve the address. Thus, ULS registered devices are typically not directly accessible using many existing applications.
The inability to scale well presents even greater problems. A computer wishing to resolve a ULS name has no way of knowing which ULS site may currently contain the proper record. There is no central authority under which all existing ULS sites may be automatically searched. Consequently, an exhaustive search of all available ULS sites is currently required. Worse yet, there is no current mechanism by which an application can determine the total set of ULS sites on a given day. Thus, newly added sites only further complicate an effort to locate a user having an unknown ULS connection.
As to the lack of static device identifiers, one Internet faxing service incorporates reversed fax numbers in email message addresses. This service, however, sends email-based messages to a fax machine at a constant, known number where the fax machine may consistently be found. It does not provide a scalable solution for locating and connecting to intermittently connected devices.
Thus, prior art systems fails to provide users with a static identifier which may be resolved to gain access to an intermittently connected device. This lack of a single identifier complicates the process of determining the network address (if any) of a device which is intermittently connected or for other reasons not permanently assigned a network address. As a result, location of and communication with such non-permanent devices is unduly burdensome using prior art techniques.